<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
DRA Systems: OR-Objects 1.2.4: Class  BestOf
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../drasys/or/graph/vrp/BestOfAll.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BestOf.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_drasys.or.graph.vrp.ConstructBase">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
drasys.or.graph.vrp</FONT>
<BR>
Class  BestOf</H2>
<PRE>
java.lang.Object
  |
  +--<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">drasys.or.graph.vrp.VRPBase</A>
        |
        +--<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">drasys.or.graph.vrp.ConstructBase</A>
              |
              +--<B>drasys.or.graph.vrp.BestOf</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../drasys/or/graph/vrp/BestOfAll.html">BestOfAll</A></DD>
</DL>
<HR>
<DL>
<DT>public class <B>BestOf</B><DT>extends <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A><DT>implements <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>

<P>
This class implements a composite VRP algorithm by combining a set of construction algorithms
with a set of improvement algorithms.
A composite VRP algorithm is one that has a construction phase followed by an improvement phase.
In the VRP package all basic algorithms are implemented as either
a pure construction or improvement class with the associated interface.
This class implements the construction phase by constructing a solution
using each of the construction algorithms and retaining the best.
Then in the improvement phase each of the improvement algorithms are applied in turn to improve
the retained solution.
If the new solution is an improvement then it becomes the retained solution.
<P>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="fields_inherited_from_class_drasys.or.graph.vrp.ConstructBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#_selected">_selected</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_drasys.or.graph.vrp.VRPBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_closed">_closed</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_depotKey">_depotKey</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_edgeKey">_edgeKey</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_graph">_graph</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_maxCost">_maxCost</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_maxLoad">_maxLoad</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_out">_out</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_properties">_properties</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_vehicleCost">_vehicleCost</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#BestOf()">BestOf</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#BestOf(drasys.or.graph.GraphI)">BestOf</A></B>(<A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#addConstruct(drasys.or.graph.vrp.ConstructI)">addConstruct</A></B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a construction algorithm.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#addConstruct(drasys.or.graph.vrp.ConstructI, int, int)">addConstruct</A></B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct,
             int&nbsp;minSize,
             int&nbsp;maxSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a construction algorithm.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#addImprove(drasys.or.graph.vrp.ImproveI)">addImprove</A></B>(<A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an improvement algorithm.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#addImprove(drasys.or.graph.vrp.ImproveI, int, int)">addImprove</A></B>(<A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve,
           int&nbsp;minSize,
           int&nbsp;maxSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an improvement algorithm.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#constructClosedTours(java.lang.Object)">constructClosedTours</A></B>(java.lang.Object&nbsp;depotKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a solution with closed tours that begin and end at the depot vertex.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#constructInboundTours(java.lang.Object)">constructInboundTours</A></B>(java.lang.Object&nbsp;depotKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a solution with open tours that begin at arbitrary vertices and end at the depot vertex.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#constructOutboundTours(java.lang.Object)">constructOutboundTours</A></B>(java.lang.Object&nbsp;depotKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a solution with open tours that begin at the depot vertex and end at arbitrary vertices.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#getCost()">getCost</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total cost of the solution tours.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#getCosts()">getCosts</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the cost of each tour in the solution.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#getLoads()">getLoads</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the load for each tour in the solution.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Vector[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#getTours()">getTours</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the improved tour from the construction algorithm.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#setCapacityConstraint(double)">setCapacityConstraint</A></B>(double&nbsp;maxLoadPerVehicle)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the vehicle capacity constraint.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#setCostConstraint(double)">setCostConstraint</A></B>(double&nbsp;maxCostPerVehicle)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the vehicle cost constraint.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#setEdgeKey(java.lang.Object)">setEdgeKey</A></B>(java.lang.Object&nbsp;edgeKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the edge key for all of the contained VRP algorithms.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#setGraph(drasys.or.graph.GraphI)">setGraph</A></B>(<A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the graph for all of the contained VRP algorithms.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#setProperties(drasys.or.graph.PropertiesI)">setProperties</A></B>(<A HREF="../../../../drasys/or/graph/PropertiesI.html">PropertiesI</A>&nbsp;properties)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the properties object for all of the contained VRP algorithms.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/BestOf.html#setVehicleCost(double)">setVehicleCost</A></B>(double&nbsp;vehicleCost)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the vehicle cost.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_drasys.or.graph.vrp.ConstructBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#isSelected(drasys.or.graph.VertexI)">isSelected</A>, 
<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#selectVertex(boolean)">selectVertex</A>, 
<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#selectVertex(boolean[])">selectVertex</A>, 
<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#selectVertex(java.lang.Object, boolean)">selectVertex</A>, 
<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#sizeOfSelected()">sizeOfSelected</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_drasys.or.graph.vrp.VRPBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#copyTours(java.util.Vector[])">copyTours</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getCost(drasys.or.graph.VertexI, drasys.or.graph.VertexI)">getCost</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getGraph()">getGraph</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getLoad(drasys.or.graph.VertexI)">getLoad</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getLoads(java.util.Vector[])">getLoads</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, 
equals, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="BestOf()"><!-- --></A><H3>
BestOf</H3>
<PRE>
public <B>BestOf</B>()</PRE>
<DL>
</DL>
<HR>

<A NAME="BestOf(drasys.or.graph.GraphI)"><!-- --></A><H3>
BestOf</H3>
<PRE>
public <B>BestOf</B>(<A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="addConstruct(drasys.or.graph.vrp.ConstructI)"><!-- --></A><H3>
addConstruct</H3>
<PRE>
public void <B>addConstruct</B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct)</PRE>
<DL>
<DD>Adds a construction algorithm.
The default minimum problem size is zero.
The default maximum problem size is Integer.MAX_VALUE.
If the graph has been set, then it is set in the added algorithm.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addConstruct(drasys.or.graph.vrp.ConstructI, int, int)"><!-- --></A><H3>
addConstruct</H3>
<PRE>
public void <B>addConstruct</B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct,
                         int&nbsp;minSize,
                         int&nbsp;maxSize)</PRE>
<DL>
<DD>Adds a construction algorithm.
The algorithm will not be exectued on problems with a dimension
less than 'minSize' or greater than 'maxSize'.
If the graph has been set, then it is set in the added algorithm.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addImprove(drasys.or.graph.vrp.ImproveI)"><!-- --></A><H3>
addImprove</H3>
<PRE>
public void <B>addImprove</B>(<A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve)</PRE>
<DL>
<DD>Adds an improvement algorithm.
The default minimum problem size is zero.
The default maximum problem size is Integer.MAX_VALUE.
If the graph has been set, then it is set in the added algorithm.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addImprove(drasys.or.graph.vrp.ImproveI, int, int)"><!-- --></A><H3>
addImprove</H3>
<PRE>
public void <B>addImprove</B>(<A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve,
                       int&nbsp;minSize,
                       int&nbsp;maxSize)</PRE>
<DL>
<DD>Adds an improvement algorithm.
The algorithm will not be exectued on problems with a dimension
less than 'minSize' or greater than 'maxSize'.
If the graph has been set, then it is set in the added algorithm.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setGraph(drasys.or.graph.GraphI)"><!-- --></A><H3>
setGraph</H3>
<PRE>
public void <B>setGraph</B>(<A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</PRE>
<DL>
<DD>Sets the graph for all of the contained VRP algorithms.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#setGraph(drasys.or.graph.GraphI)">setGraph</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setProperties(drasys.or.graph.PropertiesI)"><!-- --></A><H3>
setProperties</H3>
<PRE>
public void <B>setProperties</B>(<A HREF="../../../../drasys/or/graph/PropertiesI.html">PropertiesI</A>&nbsp;properties)</PRE>
<DL>
<DD>Sets the properties object for all of the contained VRP algorithms.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#setProperties(drasys.or.graph.PropertiesI)">setProperties</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setEdgeKey(java.lang.Object)"><!-- --></A><H3>
setEdgeKey</H3>
<PRE>
public void <B>setEdgeKey</B>(java.lang.Object&nbsp;edgeKey)</PRE>
<DL>
<DD>Sets the edge key for all of the contained VRP algorithms.
The default value for 'edgeKey' is null.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#setEdgeKey(java.lang.Object)">setEdgeKey</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setVehicleCost(double)"><!-- --></A><H3>
setVehicleCost</H3>
<PRE>
public void <B>setVehicleCost</B>(double&nbsp;vehicleCost)</PRE>
<DL>
<DD>Sets the vehicle cost. The cost must be the same units as the edge traversal costs.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#setVehicleCost(double)">setVehicleCost</A> in class <A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setCostConstraint(double)"><!-- --></A><H3>
setCostConstraint</H3>
<PRE>
public void <B>setCostConstraint</B>(double&nbsp;maxCostPerVehicle)</PRE>
<DL>
<DD>Sets the vehicle cost constraint.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#setCostConstraint(double)">setCostConstraint</A> in class <A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setCapacityConstraint(double)"><!-- --></A><H3>
setCapacityConstraint</H3>
<PRE>
public void <B>setCapacityConstraint</B>(double&nbsp;maxLoadPerVehicle)</PRE>
<DL>
<DD>Sets the vehicle capacity constraint.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#setCapacityConstraint(double)">setCapacityConstraint</A> in class <A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="constructOutboundTours(java.lang.Object)"><!-- --></A><H3>
constructOutboundTours</H3>
<PRE>
public double <B>constructOutboundTours</B>(java.lang.Object&nbsp;depotKey)
                              throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A>,
                                     <A HREF="../../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Construct a solution with open tours that begin at the depot vertex and end at arbitrary vertices.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#constructOutboundTours(java.lang.Object)">constructOutboundTours</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if a solution can not be constructed.</DL>
</DD>
</DL>
<HR>

<A NAME="constructInboundTours(java.lang.Object)"><!-- --></A><H3>
constructInboundTours</H3>
<PRE>
public double <B>constructInboundTours</B>(java.lang.Object&nbsp;depotKey)
                             throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A>,
                                    <A HREF="../../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Construct a solution with open tours that begin at arbitrary vertices and end at the depot vertex.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#constructInboundTours(java.lang.Object)">constructInboundTours</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if a solution can not be constructed.</DL>
</DD>
</DL>
<HR>

<A NAME="constructClosedTours(java.lang.Object)"><!-- --></A><H3>
constructClosedTours</H3>
<PRE>
public double <B>constructClosedTours</B>(java.lang.Object&nbsp;depotKey)
                            throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A>,
                                   <A HREF="../../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Construct a solution with closed tours that begin and end at the depot vertex.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#constructClosedTours(java.lang.Object)">constructClosedTours</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if a solution can not be constructed.</DL>
</DD>
</DL>
<HR>

<A NAME="getTours()"><!-- --></A><H3>
getTours</H3>
<PRE>
public java.util.Vector[] <B>getTours</B>()
                            throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the improved tour from the construction algorithm.
The vector contains all the edges and the vertices in alternating order starting and ending with a vertex.
The elements will always be arranged in the order of forward tour traversal.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPError.html">VRPError</A> - if no solution was created.</DL>
</DD>
</DL>
<HR>

<A NAME="getCost()"><!-- --></A><H3>
getCost</H3>
<PRE>
public double <B>getCost</B>()
               throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the total cost of the solution tours.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPError.html">VRPError</A> - if no solution was created.</DL>
</DD>
</DL>
<HR>

<A NAME="getLoads()"><!-- --></A><H3>
getLoads</H3>
<PRE>
public double[] <B>getLoads</B>()
                  throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the load for each tour in the solution.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPError.html">VRPError</A> - if no solution was created.</DL>
</DD>
</DL>
<HR>

<A NAME="getCosts()"><!-- --></A><H3>
getCosts</H3>
<PRE>
public double[] <B>getCosts</B>()
                  throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the cost of each tour in the solution.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPError.html">VRPError</A> - if no solution was created.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../drasys/or/graph/vrp/BestOfAll.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BestOf.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_drasys.or.graph.vrp.ConstructBase">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
Copyright(C)1997-2000 by DRA Systems all rights reserved. <A HREF=http://OpsResearch.com TARGET=HOME>OpsResearch.com</A>
</BODY>
</HTML>
